/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Engine2D.item;

import Engine2D.entity.Entity;
import Engine2D.entity.ItemEntity;
import Engine2D.entity.Player;
import Engine2D.level.Level;
import Engine2D.level.tile.Tile;

/**
 *
 * @author Garys
 */
public class Item {

    
    /**
     * 
     */
    public void tick() {
    }

    /**
     * 
     * @param itemEntity
     */
    public void onTake(ItemEntity itemEntity) {
    }

    /**
     * 
     * @param x
     * @param y
     */
    public void renderInventory(int x, int y) {
    }

    /**
     * 
     * @param player
     * @param entity
     * @param attackDir
     * @return
     */
    public boolean interact(Player player, Entity entity, int attackDir) {
        return false;
    }

    /**
     * 
     * @param x
     * @param y
     */
    public void renderIcon(int x, int y) {
    }

    /**
     * 
     * @param tile
     * @param level
     * @param xt
     * @param yt
     * @param player
     * @param attackDir
     * @return
     */
    public boolean interactOn(Tile tile, Level level, int xt, int yt, Player player, int attackDir) {
        return false;
    }

    /**
     * 
     * @return
     */
    public boolean isDepleted() {
        return false;
    }

    /**
     * 
     * @return
     */
    public boolean canAttack() {
        return false;
    }

    /**
     * 
     * @param e
     * @return
     */
    public int getAttackDamageBonus(Entity e) {
        return 0;
    }

    /**
     * 
     * @return
     */
    public String getName() {
        return "";
    }

    /**
     * 
     * @param item
     * @return
     */
    public boolean matches(Item item) {
        return item.getClass() == getClass();
    }
}
